home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 3 / Amiga Tools 3.iso / grafik / raytracing / rayshade-4.0.6.3 / urt / amiga_extras / getami / mktemp.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-01-16  |  457 b   |  34 lines

  1. #include <string.h>
  2. #ifdef __SASC
  3. #include <proto/exec.h>
  4. #endif
  5. #ifdef __GNUC__
  6. #include <inline/exec.h>
  7. #endif
  8.  
  9. char *
  10. mktemp(char *buf)
  11. {
  12.   long pid = (long)FindTask(0L);
  13.   char *c;
  14.  
  15.   c = buf + strlen(buf);
  16.  
  17.   while (*--c == 'X') {
  18.     *c = pid % 10 + '0';
  19.     pid /= 10;
  20.   }
  21.   c++;
  22.   if (*c) {
  23.     for(*c='A'; *c <= 'Z'; (*c)++) {
  24.       if (access(buf, 0)) {
  25.         return buf;
  26.       }
  27.     }
  28.     *c = 0;
  29.     return buf;
  30.   }else{
  31.     return buf;
  32.   }
  33. }
  34.